package faktorI;

import java.io.Serializable;

public abstract class Lista implements Serializable{
	Elem prvo, posl;
	
	public boolean prazna(){
		if (prvo == null) return true;
		else return false;
	}
	
	public boolean dodaj(Elem elem){
		if (prvo == null)
			prvo = posl = elem;
		else {
			posl.next = elem;
			posl = elem;
		}
		return true;
	};
	
	public boolean izbaci(Elem element){
		Elem pret = null;
		for (Elem tek = prvo; tek != null; tek = tek.next) {
			if (tek.equals(element)) {
				if (tek == posl)
					posl = pret;
				tek = tek.next;
				if (pret == null)
					prvo = tek;
				else
					pret.next = tek;
				return true;
			}
			pret = tek;
		}
		return false;
	}
	
	public void isprazni(){
		while(prvo != null){
			Elem temp = prvo;
			prvo = prvo.next;
			temp.next = null;
		}
		prvo = posl = null;
	}
}
